package org.springblade.modules.platform.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.springblade.modules.platform.dto.DeptInfoTableDTO;
import org.springblade.modules.platform.dto.MeasuringPageDTO;
import org.springblade.modules.platform.entity.DeptInfoTable;
import org.springblade.modules.platform.vo.*;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author SYG
 * @since 2022-08-26
 */
public interface IDeptInfoTableService extends IService<DeptInfoTable> {


    /**
     * 查询部门编号
     * @param deptId
     * @return
     */
    DeptInfoTable getInfo(Long deptId);


    /**
     * 新增
     * @param deptInfoTable
     */
    void saveDeptInfoTable(DeptInfoTable deptInfoTable);

    /**
     * 更新
     * @param deptInfoTableDTO
     */
    void updateDeptInfo(DeptInfoTableDTO deptInfoTableDTO);


    DeptInfoTableInfoVO getDeptInfoTableInfo(Integer id);

    DeptInfoTable getById(Integer id);

    void insertDeptInfoTable(DeptInfoTableDTO deptInfoTableDTO);

    DeptInfoTable previousMeasureType(Integer id);

    void removeDeptInfo(Integer id);


    DeptTypeInfoVO selectDeptTypeInfo(Integer id);
    DeptMeasuringInfoVO selectDeptMeasuringInfo(Integer id);
    DeptBenchInfoVO selectDeptBenchInfo(Integer id);

    List<Integer>  selectQuery(Integer id);


    MeasuringPageVO selectListBox(MeasuringPageDTO measuringPageDTO);

    DeptInfoTable selectMeasuring(Integer measuringId);


    List<DeptBenchInfoSortVO> selectDeptBenchInfoByParent(Integer parentId);

    List<DeptInfoTable> getMeasureTypeList(Integer id);

}
